﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using DXTools.Core.Enum;
using DXTools.Core.Model;
using DXTools.Core.CrmSdk;

namespace DXTools.UI.Core.DataProviders
{
    public interface ICRMDataProvider
    {
        void RetrieveWebResourceList(WebResourceType webResourceType, AsyncCallback asyncCallback);
        void RetrieveWebResource(String WebResourceId, AsyncCallback asyncCallback);
        void UpdateWebResource(String WebResourceId, String Content, AsyncCallback asyncCallback);
        void PublishWebResource(String WebResourceId, AsyncCallback asyncCallback);
        void RetrieveSitemap(AsyncCallback asyncCallback);
        void PublishSitemap(AsyncCallback asyncCallback);
        void RetrieveSolutionList( AsyncCallback asyncCallback);
        //Guid ImportSolution(string SolutionFile, AsyncCallback asyncCallback);
        void ImportSolution(Tool tool,Guid importJobId, string SolutionFile, AsyncCallback asyncCallback);
        void RetrieveImportJob(Guid ImportJobId, AsyncCallback asyncCallback);
        void UpdateEntity(Entity entity, AsyncCallback asyncCallback);

        //void RetrieveEntities(AsyncCallback asyncCallback);
        //void RetrieveEntityAttributes(String EntityLogicalName, AsyncCallback asyncCallback);
        //void RetrieveEntityRelationships(String EntityLogicalName, AsyncCallback asyncCallback);
    }
}
